package com.ruoyi.web.service;

import com.ruoyi.entity.FileDataEntity;
import com.ruoyi.entity.SubjectEntity;
import com.ruoyi.entity.ProjectEntity;
import com.ruoyi.entity.FileEntity;
import com.ruoyi.entity.SettingEntity;
import org.apache.xmlbeans.impl.xb.xsdschema.Public;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

public interface PneumaticService {
    public List<SubjectEntity> getSubjectList(SubjectEntity task) throws IOException;
    public int deleteSubjectByIds(String[] subjectIds) throws IOException;
    public int insertSubject(SubjectEntity task) throws IOException;
    public int updateSubject(SubjectEntity task) throws IOException;
    public List<ProjectEntity> getProjectList(ProjectEntity project) throws IOException;
    public int insertProject(ProjectEntity project) throws IOException;
    public int deleteProjectByIds(String[] projectIds) throws IOException;
    public int updateProject(ProjectEntity project) throws IOException;
    public List<FileEntity> getFileList(FileEntity file) throws IOException;
    public List<FileDataEntity> getFileData(FileDataEntity file) throws IOException;
    public List<FileDataEntity> getFileResultData(FileDataEntity file) throws IOException;
    public String getDownloadUrl(String workType, String fileName) throws IOException;
    public int deleteFileByIds(List<String> fileIds, List<String> fileNames, String directory) throws IOException;
    public List<FileDataEntity> globalSearch(List<FileDataEntity> pneumaticList) throws IOException;
    public List<FileEntity> getFileListByIds(Set<String> fileIds, String fileType) throws IOException;
    public int updateUserSubject(String userId, String subjectIds) throws IOException;
    public List<SubjectEntity> authSubjectList(String userId) throws IOException;
    public List<SettingEntity> getSettingsInfo(SettingEntity settings) throws IOException;
    public void addSetting(MultipartFile file, String LoginTitle, Integer isActive) throws IOException;
    public void activate(Integer id);
    public int removeSetting(Integer id, String fileNames);
    public SettingEntity getSetting();
}
